The present invention relates to a network, and in particular, to a method of distributing or delivering software to computer or apparatuses.
In an environment using a large number of computers, since manual installation of programs (execution programs, applications, or APs) to be executed on such computers becomes quite complex, a function to distribute or to deliver software via a network is employed as described in JP-A-6-12348. A software delivery function of this type helps deliver and install applications to many computers at once and hence the manual operation becomes less complex.
The applications are classified into two groups: applications each operating alone and applications each operating in cooperation with other applications. For example, under a condition that application B is necessary to execute application A, when only application A is installed, application A cannot operate if application B is absent. Paying attention to this fact, JP-A-10-83280 describes delivery of applications according to an application dependency relationship. In this technique, information of dependency of application A upon application B is first defined. At delivery of application A, the information of the dependency is referred to such that application B related in dependency to application A is also delivered.
As already described above, there exists a situation in which an application is required to execute another application.
The configuration of operation above is further classified into two cases: the pertinent application and a plurality of applications on which the pertinent application is dependent operate on one computer (one apparatus or one operating apparatus) or on mutually different computers. For example, in a client-server program, a client program is dependent on a server program, namely, a client program cannot operate alone.
For the dependency relationship between applications on mutually different apparatuses, there arise two problems as follows.
(1) Problem at Delivery and Installation of Application
When application A dependent on another application B is to be installed, it is necessary in some cases to input an identifier of a apparatus on which application B is installed. For example, in a case of a database application, to install a database client, it is required to beforehand input an identifier of a apparatus in which a database server exists. In such a situation, the apparatus identifier is necessary for the following reason. Although it has been already determined that the database client depends on the database server, there exists no information to link the database client and server with each other.
Additionally, application A depending on application B can be installed only after an installation destination is determined for application B. If the installation destination of application B has been determined, the installation destination can be specified even before installation of application B. However, this will be manually carried out, and some mistakes may possibly occur.
(2) Problem at Deletion of Application
Assume that application A depends on another application B and application B operates on apparatus 1. Assume that application B is to be deleted or uninstalled from apparatus 1 while application A is operating in other apparatuses. To beforehand determine influence of the deletion of application B, the use must achieve jobs as follows. First, a human manager (of the application) checks the applications which depend on application B to recognize that application A depends on application B. The manager must further determine apparatuses on which application exists. If it is found that another application C depends on application A, the manager must similarly check application C. To manually achieve these jobs, a large amount of human power and a long period of time will be required for complex work.
Assume in a situation in which application B is operating on apparatus 1 and application A dependent on application B is operating on another apparatus 2 that it is desired to change the operating apparatus of application B from apparatus 1 to apparatus 2. Complex operation similar to that described above is required to determine influence of this operation. There is further required an operation to change the operating apparatus from apparatus 1 to apparatus 2. This results in complex human work.
The method of JP-A-10-83280 defines a dependency relationship in each apparatus to execute processing according to the dependency relationship. However, problems concerning dependency relationships between applications associated with mutually different operating apparatuses cannot be solved.